package com.linsy.product.redis.mq.annotation;

import com.linsy.product.redis.mq.config.KernelMqRegistrar;
import com.linsy.product.redis.mq.config.RedisConfiguration;
import com.linsy.product.redis.mq.config.RegisterCron;
import com.linsy.product.redis.mq.service.Broker;
import com.linsy.product.redis.mq.util.KernelMqThreadPool;
import com.linsy.product.redis.mq.util.RedisUtil;
import org.springframework.context.annotation.Import;

import java.lang.annotation.*;

/**
 * 启动 kernel-mq
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@Documented
@Import({KernelMqRegistrar.class, RegisterCron.class, KernelMqThreadPool.class, RedisUtil.class, RedisConfiguration.class, Broker.class})
public @interface EnableKernelMq {

    /**
     * mq消费方法统一包扫描地址
     */
    String basePackages() default "";

    /**
     * 全局定时任务，默认10秒一次
     */
    String cron() default "*/10 * * * * *";
}
